package com.qinglei.recoup.app.util;

import net.sf.json.JSONObject;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;

public class WxUtil {
    /**
     * 获取微信小程序的用户openid和session_key/unionid
     * 返回格式：{"session_key":"ZXxmVGt78993dkNCPmQOA==","openid":"o5TI441P58849p4E-fBrH_HgVvGo","unionid":"oD08m1s24646ZIDJ_AQ9ADUf5QQ"}
     * @param code
     * @return
     * @throws Exception
     * @return JSONObject
     * @author tyg
     * @date   2019年4月25日下午2:24:22
     */
    public static  JSONObject getWechatSmallProgram(String code,String APPID, String SECRET) throws Exception {
        // 小程序唯一标识 (在微信小程序管理后台获取)
        // 小程序的 app secret (在微信小程序管理后台获取)
        //请求地址
        String url = "https://api.weixin.qq.com/sns/jscode2session?";
        // 授权（必填）
        String grant_type = "authorization_code";

        //1、向微信服务器 使用登录凭证 code 获取 session_key 和 openid
        // 请求参数
        StringBuffer params = new StringBuffer("appid=").append(APPID);
        params.append("&secret=").append(SECRET);
        params.append("&js_code=").append(code);
        params.append("&grant_type=").append(grant_type);
        RestTemplate restTemplate = new RestTemplate();
        ResponseEntity<String> forEntity = restTemplate.getForEntity( url+params, String.class);
        String accessTokenJson = forEntity.getBody();
        System.out.println(accessTokenJson);
        JSONObject jsonObject = JSONObject.fromObject(accessTokenJson);
        return jsonObject;
    }

}
